/* 输出二叉搜索树中所有值大于 key 的结点 */
#include <iostream>
#include "BiTree.h"
using namespace std;

// 输出所有大于k值的结点
void fun(BTNode *T, char key)
{
  // 二叉排序树不为空
  if (T != NULL)
  {
    // 输出左子树所有大于k值的结点
    if (T->lchild != NULL)
      fun(T->lchild, key);
    
    // 当前结点大于key值
    if (T->data > key)
      cout << T->data;
    
    // 输出右子树所有大于k值的结点
    if (T->rchild != NULL)
      fun(T->rchild, key);
  }
}

int main()
{
  // 创建二叉排序树
  BTNode *T = create_BiTree();
  
  // 定义k值
  char key = '5';
  
  // 输出所有大于k值的结点
  fun(T, key);
  return 0;
}